home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 January / Chip_1999-01_cd.bin / zkuste / delphi / D1 / CALPNL.ZIP / TCalenPnl installation.txt < prev   
Text File  |  1996-03-13  |  5KB  |  112 lines

  1.  
  2.     TCalenPnl, a freeware Calendar descended from TCustomPanel.
  3.     ===========================================================
  4.  
  5. INSTALLATION.
  6.  
  7. To install TCalenPnl as a component on your button bar, copy the
  8. CALPNL.PAS and CALPNL.DCR files to your \LIB folder, then click on 
  9. Component\Install. Click on the Add button when the 'Install Components'
  10. dialogue box shows.
  11.  
  12. Click on the 'Browse' button, navigate to the LIB folder, select
  13. CALPNL.PAS, then click on the 'Open' button.
  14.  
  15. You're now back at the 'Install Components' dialogue box, click on
  16. 'OK', sit back and twiddle your thumbs for a minute, then the TCalenPnl
  17. component will be available in the Samples page of the Component
  18. Pallette.
  19.  
  20. If you wish to install TCalenPnl to another page (eg 'Untested 
  21. components'), go to line 231 of the CALNPNL.PAS file, and change
  22.  
  23. RegisterComponents('Samples', [TCalenPnl]); 
  24.  
  25. to...
  26.  
  27. RegisterComponents('Untested components', [TCalenPnl]);
  28.  
  29.         ===============================
  30.  
  31. DESCRIPTION, a copy of which is in the CALPNL.PAS file, and could be deleted 
  32. from there, if you wish...
  33.  
  34.  Posted in the hope that I can repay a little of my enormous debt to
  35.   those many unselfish people who have made my life easier with freeware
  36.   and code snippets.
  37.  
  38.                                  -o0o-
  39.  
  40.   TCalenPnl, a freeware Calendar descended from TCustomPanel. The really
  41.   hard work for this component was done by Robert Vivrette, and is adapted
  42.   from his freeware TDateEdit form.
  43.  
  44.   I needed a panel-based Calendar, and adapted the CalPop code to suit.
  45.   TCalenPnl retains all the properties of a TPanel, and adds a few more.
  46.   Some of the interesting published properties are...
  47.  
  48.   ShowDate:    Shows\Hides the buttons and 'MMMMM YYYY' display
  49.           above the abbreviated day names at the top. The Months
  50.                 or Years can then be changed programmatically by
  51.                 ScrollBars or similar.
  52.  
  53.   DayWidth:    Uses 1 to 3 characters (M, Mo, Mon) to define the day name.
  54.  
  55.   Font:        Big deal! Actually, the point is that the Font can be
  56.           changed (typically the size would be changed) when 
  57.                 TCalenPnl is Resized (OnResize).
  58.  
  59.   OnDateChange:    A centralized event that allows users to change Labels,
  60.                 ScrollBars, Graphs or ProgressBars when the CalendarDate
  61.                 property is changed, internally or externally.
  62.  
  63.   Some interesting Public properties...
  64.  
  65.   CalendarDate: A TDateTime property that you can read or write to
  66.           programmatically. The fractional part of CalendarDate,
  67.                 i.e. the time, is not stored.
  68.  
  69.   WeekNumber:     An integer representing the... Week number of the .Year.
  70.  
  71.   DayOfYear:     Integer value for days that have passed, in the current
  72.           (CalendarDate) year.
  73.  
  74.   DaysInYear:    Integer, can be either 365 or 366. It could have just as
  75.           easily been Boolean (it calls the Boolean IsLeapYear 
  76.         protected Function), but it suited my project.
  77.  
  78.   .Day, .Month, .Year are all integer Public Properties.
  79.  
  80.   There is some repitition in the code, as Robert's CalPop relies on the date
  81.   being changed only by the buttons, therefore only in increments of one. I
  82.   required TCalenPnl to be able to be set by other controls, so there is some
  83.   duplication.  A really clever programmer, over a rainy weekend, could re-do
  84.   the code to shrink it a touch.
  85.  
  86.   You may have to look closely at some of the code, as it has been written to
  87.   prevent a user entering an invalid date, which can happen with a ScrollBar.
  88.   If the date highlighted is 31 August, and the user scrolls to September, the
  89.   CalendarDate.Day is reset to the DaysInMonth (ie, 30), to prevent an error.
  90.   Shouldn't be a problem as it almost guarantees no errors, but be aware.
  91.  
  92.   If you use 'MMMM DD YYYY' format in your Win International settings, ie US
  93.   users, then the example above would use August 31. In other words, the code
  94.   is 'Internationalized', to that extent.
  95.  
  96.   While CalPnl.PAS  and the CalPnl.DCR have been produced in Delphi 2.0, there
  97.   is no reason why the .PAS would not work in 16 bit Delphi, apart from a few
  98.   // comments.
  99.  
  100.   I considered a dynamic StartOfWeek, as some other calendar programmes offer,
  101.   because it is culturally presumptuous of me to use Sunday as day 1.  If you
  102.   wish to modify the source, please do so, and send me a copy to re-post.
  103.  
  104.                                  -o0o-
  105.  
  106.  If you have any criticisms or suggestions, please send them to me...
  107.  
  108.                      Peter Crain
  109.                      Brisbane, Queensland.
  110.                      AUSTRALIA.
  111.                      Compuserve 100237,2735
  112.